Method and apparatus for managing gaming machine code downloads

ABSTRACT

A gaming machine is arranged with a gaming machine controller and a secondary “queuing” device, preferably a player tracking controller having a memory. A communication link is provided between the player tracking controller and gaming machine controller, and the player tracking controller and a player tracking network including a player tracking host or server. A game code server is connected to the player tracking network. In accordance with a method, gaming machine code or data, such as game or other control code, is transmitted from the game code server over the player tracking network to the player tracking controller. The code may be processed by the player tracking controller, including by storing it in the player tracking controller memory. The code may then be transmitted to the gaming machine controller for storage and execution.

FIELD OF THE INVENTION

The present invention relates to a system and method for managing thedownload of gaming machine data, such as game code and other gamingmachine control code.

BACKGROUND OF THE INVENTION

Today's gaming devices such as electronically controlled slot, video andsimilar machines generally include a central controller including aprocessor and a memory. The central controller controls the gamingmachine, including the presentation of one or more games to a player atthe gaming machine.

The processor of the gaming controller executes code to control theoperation of the gaming machine. This code is stored at the memory ofthe gaming controller. Generally, the control code, including specificgame code, is loaded into the memory when the gaming machine ismanufactured.

There are a variety of circumstances which may arise when it isdesirable to change the control and/or game code associated with thegaming machine controller. For example, the operator may wish to changethe “paytable” so that the gaming machine returns a higher percentage ofbets wagered. The operator may also wish to update an older game with anewer, more desirable one. Currently, this requires that a techniciantravel to the gaming machine, take the gaming machine out of service,and load new code. The new code may be loaded by replacing a staticmemory chip or in the case of a rewriteable memory, by overwriting oldercode.

There are numerous disadvantages with this arrangement, including thatthe arrangement takes the machine out of service and requiressubstantial manpower to accomplish, all reducing the profit which may beyielded by the machine. The present invention is directed at a practicalmanner for implementing downloads of gaming and other code, includingmanaging the downloads without interruption to the gaming machine.

SUMMARY OF THE INVENTION

A gaming machine code download system and a method of managing orcontrolling the download of code to a gaming machine are disclosed.

One embodiment of the invention comprises a method of downloading code,information or data to a gaming machine from a remote device. In oneembodiment, the method includes the step of storing gaming machine codeat the remote device. A request for gaming machine code is generated,and the request is provided to the remote device. In accordance with oneembodiment of the method, the gaming machine code is transmitted fromthe remote device to a first device of the gaming machine over acommunication link in response to the request. The game code isprocessed, and all or a portion of the processed gaming code is providedto a gaming machine controller or other second device of the gamingmachine for use.

In one embodiment, the method is implemented in an environment includinga gaming machine, a communication network and at least one remotedevice. The gaming machine includes at least one gaming controlleradapted to control the gaming machine, including for the purpose ofpresenting a game at the gaming machine. The gaming machine controllerpreferably includes a processor and a memory.

The gaming machine also includes a secondary device. The secondarydevice preferably comprises a player tracking controller. The playertracking controller includes a processor and a memory. One or moredevices may be associated with the player tracking controller, such as aplayer tracking card reader and keypad.

In one embodiment, the player tracking controller includes acommunication interface. The communication interface is associated withat least one network. In one embodiment, the network is a playertracking network including a player tracking host. The player trackinghost includes a memory for storing player information, includinginformation regarding a player's play at one or more gaming machines.

In a preferred embodiment, a game code host is associated with theplayer tracking network. Game code is transferred from the game codehost to the gaming machine via the player tracking network. Transmittedgame code is preferably directed to the player tracking controller of agaming machine, which processes the code and transmits it to the gamingmachine controller.

A variety of alternate systems or configurations of apparatus arecontemplated for effectuating the methods of the invention. In oneembodiment of a method, a request for gaming code is generated at thegaming machine and is transmitted to the game code host. The request maybe generated by the gaming machine controller or player trackingcontroller/device. For example, in one embodiment, a request may begenerated by the player tracking controller in response to theidentification of a player by use of a player tracking card at a cardreader of the player tracking device of the gaming machine.

Gaming code is transmitted from the game code host to the playertracking controller via the network or other communication link. In oneembodiment, this link is part of a player tracking network whichassociates the player tracking device of the gaming machine with aplayer tracking host. In another embodiment, the link is a separate linkfrom a link connecting the player tracking device of the gaming machinewith the player tracking host, such as a wireless communication link tothe game code host. The player tracking controller may process thegaming code in a variety of manners, including by storing all or aportion of the gaming code.

In one embodiment, a request for code is accompanied by informationregarding the priority of the request. The method may include the stepof queuing the code and transmitting it to the gaming machine at one ormore particular times.

The gaming code may comprise a variety of information in a variety offorms. For example, the gaming code may comprise information used by thegaming machine controller for controlling or operating one or moreperipheral devices of the gaming machine, such as a bill validator. Thegaming code may also comprise a set of code permitting the gamingmachine controller to present a particular game or games to a player.

Further objects, features, and advantages of the present invention overthe prior art will become apparent from the detailed description of thedrawings which follows, when considered with the attached figures.

DESCRIPTION OF THE DRAWINGS

FIG. 1 is a perspective view of a portion of a gaming machine of a typeto which the method and apparatus of the invention is applicable;

FIG. 2 is a schematic diagram of a gaming machine controller and playertracking controller of a gaming machine in accordance with the presentinvention; and

FIG. 3 illustrates a network including a plurality of gaming machines inaccordance with an embodiment of a system of the invention.

DETAILED DESCRIPTION OF THE INVENTION

The invention is a method and system for managing or controlling thedownload of code or data to a gaming machine. In the followingdescription, numerous specific details are set forth in order to providea more thorough description of the present invention. It will beapparent, however, to one skilled in the art, that the present inventionmay be practiced without these specific details. In other instances,well-known features have not been described in detail so as not toobscure the invention.

In general, the present invention comprises a method and apparatus formanaging the download of gaming machine control code, game code or otherdata or information from a remote location for use by the gamingmachine. In one embodiment, a gaming machine is configured to include agaming controller and a secondary device, the secondary device is incommunication with a remotely located device such as a server. Thesecondary device is arranged to accept and store code, as well asprovide the code to the gaming controller.

In one or more embodiments of the method and apparatus there is provideda gaming system including at least one gaming machine or device. FIG. 1illustrates one embodiment of such a gaming machine 20. In general, thegaming machine 20 is adapted to present at least one game for play to aplayer. As illustrated, the gaming machine 20 includes a housing 22which supports and/or houses the various components of the gamingmachine 20. In the embodiment illustrated, the gaming machine 20 isadapted to present a game of “slots,” and includes three rotating reels24 a,b,c. A handle 26 or spin button 28 may be used to effectuaterotation of the reels 24 a,b,c.

In this well known game, a player may be declared a winner of the gameand awarded an award if the result of the rotation of the reels 24 a,b,cis a predetermined combination of symbols. It should be understood thatthe gaming machine 20 may be adapted to present one or more of a widevariety of games. Depending upon the game presented, the configurationof the machine may vary. For example, in the event the gaming machine 20is adapted to present the game of video poker, then the gaming machine20 may include a video display.

In one or more embodiments of the invention, the gaming machine 20 isadapted to present a wager-type game. In this arrangement, a player isrequired to place a bet or wager in order to participate in the game. Inthe event the outcome of the game is a winning outcome, then the playermay be provided with an award such as coins or currency, or creditswhich may be redeemed for prizes or money. In one arrangement, the awardmay be winnings in proportion to the amount wagered or bet by theplayer.

In order to accept a wager, the gaming machine 20 may include a coinacceptor 30 for accepting coins. The gaming machine 20 may also includea bill acceptor or validator 32 for accepting paper currency. The gamingmachine 20 may be provided with other means for accepting or verifyingvalue, such as a credit card reader.

Referring to FIG. 2, in a preferred embodiment of the invention, thegaming machine 20 includes a gaming machine controller 60. In general,the gaming machine controller 60 is arranged to control various aspectsof the gaming machine 20, including for the purpose of presenting a gameto a player of the gaming machine 20. The gaming machine controller 60is preferably located within the housing 22 of the gaming machine 20.

In one embodiment, the gaming machine controller 60 includes aprocessing device or CPU 62 and a memory 64 associated with a bus 66.The memory 64 is arranged to store information, such as gamesoftware/code for execution by the processing device 62. The processingdevice 62 outputs instructions/data through the bus 66 for controllingone or more peripheral devices of the gaming machine for presenting thegame. As illustrated, the peripheral devices may include a display 68.In the case of a slot game, the display 68 may comprise one or morereels. In the case of video poker and other gaming machines in whichvideo information is displayed, the display 68 may comprise a CRT, LCDor the like. Other peripherals may include the above-referenced keys orbuttons 28 for accepting user input, the coin acceptor 30 or the billvalidator 32.

Machine readable code is stored at the memory 64 of the gaming machinecontroller 60. This code may be in a variety of languages and be of avariety of types. The code is executed by the CPU 62. The code maypertain to various aspects of the control of the gaming machine 20, suchas the presentation of video information on the display 68, currencyconfirmation utilizing the bill acceptor 32 or the like. This code maybe referred to as control code, game code or by other names related tothe general function to be accomplished using the code.

In a preferred embodiment of the invention, the gaming machine 20includes a secondary control system or device. In one embodiment, thesecondary device is a player tracking device which is associated with aplayer tracking system. The player tracking device may have a widevariety of configurations.

The player tracking device is preferably housed within the gamingmachine 20 or an associated structure. For example, the player trackingdevice may be located within the housing 22 of the gaming machine 20. Inanother embodiment, as illustrated in FIG. 1, the player tracking deviceis associated with a top box 36 which is located at the top of thegaming machine 20. The top box 36 may have a variety of shapes andsizes. Generally, the top box 36 defines an interior space in which oneor more components are located.

The player tracking device may include a variety of components orelements. Preferably, the player tracking device includes at least oneinput device for accepting information from a player, and at least oneoutput device for providing information to a player.

In one embodiment, the output device includes a plurality of lights 38for visual stimulation, at least one speaker 40 for generating audibleinformation, and a video display 42. In the embodiment illustrated,these elements may be associated with, such as by location within orconnection to, the top box 36. The lights 38 may be of a plurality oftypes and be arranged to display in various colors. The display 42 maycomprise a CRT type display, or an LCD/LED display or the like.

The input of the player tracking device of the gaming machine 20 maycomprise a card reader 34 for reading information associated with aplayer card. The player card may comprise a plastic card including amagnetic stripe. In that arrangement, the card reader may comprise amagnetic stripe reader. The player card may comprise a number of otherdevices, such as a smart card including a chip.

The player tracking device of the gaming machine 20 also preferablyincludes a keyboard or keypad 44 which permits input from a player. Thekeypad 44 is preferably associated with a player tracking function, suchas for inputting a player identification or personal identificationnumber (PIN).

The gaming machine player tracking device may have a variety of otherconfigurations and include the other devices. For example, the playertracking device may be fully integrated into the gaming machine 20 andnot include a separate top box.

The player tracking device associated with the gaming machine 20preferably includes a control device. In general, the control device isadapted to execute instructions/perform tasks, and transmit informationor data from the gaming machine 20 to a remote location. As part of thetasks, the control device is adapted to control one or more peripheraldevices, such as the lights 38 and a printer 48. As detailed below, thetasks also preferably include receiving gaming machine control or gamecode from a remote location, and providing that code or data to the gamecontroller 60.

In one embodiment, the control device comprises a controller in the formof a slot management interface board (SMIB) 70. The SMIB 70 may have avariety of forms and configurations. In one embodiment, the SMIB 70comprises a circuit board having circuits configured to execute orimplement a variety of instructions/tasks.

In one embodiment, the SMIB 70 is arranged to control or interface withone or more peripheral devices. In a preferred embodiment, these devicesinclude the player tracking device display 42, the keypad 44, the cardreader 34, the lights 38, the at least one speaker 40, and the printer48. The SMIB 70 and the peripheral devices may be arranged tocommunicate using a variety of protocols, such as USB, serial orparallel.

In one embodiment, the SMIB 70 is housed in the top box 36 of the playertracking device associated with the gaming machine 20. The SMIB 70 maybe located elsewhere, however.

One or more embodiments of the invention comprise a system for managinggaming machine code downloads. One embodiment of such a system 50 isillustrated in FIG. 3. In one embodiment, the system so includes atleast one, and preferably a plurality of, gaming machines 20. In apreferred embodiment, the player tracking device of the gaming machine20 is associated with one or more other devices through a wired orwireless communication network 58 including at least one communicationlink. In one embodiment, the system 50 includes at least one playertracking or reward system host 54. The player tracking or reward systemhost 54 is in communication with the player tracking device of thegaming machine 20 via the at least one communication link of the network58.

The player tracking host 54 may comprise a single computer or a group ofcomputers associated with one another on the network 58. Appropriatehardware and/or software is provided for permitting the one or morecomputing devices of the player tracking host 54 to send and receiveinformation. For example, in one embodiment, data may be sent to andfrom the player tracking host 54 in accordance with any number ofprotocols, such as TCP/IP, Ethernet, IEEE-1394, Bluetooth and others.Appropriate hardware and software is provided for implementing theseprotocols. Of course, the communication protocol and the form of thenetwork 58 are chosen in tandem. For example, the Bluetooth protocol maybe implemented with a wireless network 58 including wireless data relaystations. An IEEE-1394 protocol may be implemented over a wired network,such as copper wire or fiber optic lines.

In one embodiment, the player tracking host 54 includes at least onedata storage element for storing the player information. The datastorage element may comprise a hard drive, RAM, tape drive, CD-ROM,DVD-RAM or other memory or data storage member or element. The playertracking host 54 may include a number of other devices, such as one ormore displays, keyboards and other devices for displaying data,controlling operation thereof and the like.

In one embodiment, the player tracking host 54 is adapted to implement aplayer tracking/reward or “comp” function. The player tracking host 54may thus be adapted to aggregate game play data regarding variousplayers playing the gaming machines 20. This data may includeinformation such as the length of time of game play, amounts bet,amounts awarded, and a wide variety of other information. In general,the player tracking device of each gaming machine 20 is adapted totransmit the player tracking data over the communications link(s) to theplayer tracking host 54. Based on player activities, a player may beawarded a “comp”. Comps are generally awards, such as prizes, money,free game play, lodging or the like which are provided to the playerapart from any awards which the player receives from direct game play.Such are referred to as “comps” as they are “complimentary” andgenerally do not require specific obligation, such as an additional bet,in order to be received. The system is often referred to as a reward orloyalty system because a player is generally awarded an award resultingfrom an extended or frequent game play. In one arrangement, a player mayacquire points based upon a game criteria, such as amounts bet, won orlost. If a player accrues sufficient credits, the player is awarded areward.

As illustrated in FIG. 2, a communication interface 72 is providedbetween the SMIB 70 and the player tracking system network 58. Thecommunication interface 72 may comprise a wide variety of devices. Forexample, the communication interface 72 may comprise a modem or a PCtype card including an antennae for implementing a wirelesscommunication protocol such as Bluetooth. The communication interface 72may comprise a PC type card facilitating a protocol over a wirednetwork, such as Ethernet or Firewire®.

Player tracking information is transmitted via the SMIB 70 to the playertracking host 54. In one embodiment, data is transmitted from the SMIB70 to the network 58 via the communication interface 72. This data isrouted to the player tracking host 54.

In one embodiment, the information which is transmitted may comprisegame play information regarding a player's game play activity. Thisinformation may include coins (or other monetary amounts credited),coins paid out, and time of play.

In a preferred embodiment, a communication link is also provided betweena gaming code host 56 and the SMIB 70. In one embodiment, the gamingcode host 56 is associated with the player tracking system network 58and the communication link is provided by the network 58.

The gaming code host 56 may comprise a variety of devices. In oneembodiment, the gaming code host 56 comprises a computing deviceconfigured as a server. In such a configuration, the gaming code host 56may include at least one processor, at least one memory device, and atleast one communication interface. The memory device may comprise a massstorage device for storing large amounts of data, such as an array ofhard discs.

In one embodiment, the gaming code host 56 may comprise a portion of orbe integrated with the player tracking host 54. In other words, a singlecomputing device or group of computing devices may be configured toperform player tracking functions as detailed above and gaming codestorage and dissemination, as detailed below.

Preferably, the game code host 56 stores executable code or other dataor information for use by the gaming machine controller 60. This codemay comprise, for example, game code or other control code for use bythe gaming machine controller, such as for use in controlling thevarious peripheral devices of the gaming machine 20. The code may bestored in a variety of forms. For example, the code may be encrypted,compressed, and comprise compiled or uncompiled data.

In accordance with a method of the invention, as described in moredetail below, code may be transmitted from the game code host 56 to thegaming machine 20 for use by the gaming machine controller 60 of thegaming machine 20 in operating the gaming machine, including presentingone or more games. In a preferred embodiment, code is transmitted fromthe game code host 56 to the SMIB 70 of the gaming machine 20, and thensome or all of the code in modified or unmodified form is provided bythe SMIB 70 to the gaming machine controller 60.

As illustrated in FIG. 2, in a preferred embodiment, a communicationlink 74 is provided between the gaming machine controller 60 and theSMIB 70. The communication link 74 permits data to be transmitted fromthe SMIB 70 to the gaming machine controller 60, and from the gamingmachine controller 60 to the SMIB 70.

In a preferred embodiment, the communication link 74 operates by aproprietary protocol which permits only limited interaction between theSMIB 70 and gaming machine controller 60. This proprietary protocol ispreferably different than the communication protocol by which the SMIB70 transmits information to and receives information from the network58, including the player tracking host 54 and game code host 56. In thismanner, attempts to tamper with the gaming machine controller 60 viaaccess through the network 58 and SMIB 70 are prevented. This ensuresthe security of the gaming machine controller 60.

In accordance with one embodiment of the invention there is a method ofmanaging or controlling the download of code or other information from aremote location to a gaming machine. In one embodiment, the method isimplemented via a gaming system including a game code server 56, network58, and at least one gaming machine 20 as described above.

In one embodiment of method, in a first step S1, gaming machine code isprovided to a device remote from the gaming machine. As described above,this remote device may comprise a game code server 56. The gamingmachine code may be provided to the game code server 56 or other devicein a variety of manners. For example, the code may be generated at thegame code server 56. The code may also be generated remotely and betransferred to the server, such as through a network communication linkor a removable media such as CD-ROM, removable disk or the like.

As indicated above, the code may be in a variety of forms and may beconfigured for a variety of purposes. For example, the code may be in avariety of languages. The code may also be configured for use by agaming controller in presenting a game or specifically controlling aparticular peripheral device of the gaming machine. As indicated, thecode is preferably machine readable code. The code may comprise data orother information, as is known in the use of computing devices.

In a second step S2 of the method, the code is transferred from theremote device, such as the game code server 56, to a portion of thegaming machine 20 other than the gaming machine controller 60. Asindicated above, this other portion of the gaming machine 20 preferablycomprises a secondary device. By “secondary device,” it is meant adevice other than the device which is primarily intended to run orutilize the code or information. In one preferred embodiment, thissecondary device comprises the player tracking controller or SMIB 70.

In one embodiment, the code may be transferred to the SMIB 70 or otherdevice based on a variety of criteria or events. For example, in oneembodiment, the trigger for the download may be effected at the gamecode server 56. As one example, a game operator may wish to updateparticular code associated with one or more gaming machines 20, such asbill validation code. The operator may cause new code to be transmittedfrom the game code server 56 to each gaming machine 20. For example, theoperator may input a request to transmit code directly to the game codeserver 56 by a keyboard or other direct input device.

In another embodiment, a request for code may be transmitted from thegaming machine 20 to the game code server 56 for fulfillment. In oneembodiment, the gaming machine controller 60 may generate such arequest. For example, the gaming machine controller 60 may cause thedisplay 68 to display a list of games which may be played at the gamingmachine 20. A player may select a particular game from the list. Inresponse to the selection, the gaming machine controller 60 may transmita request to receive the gaming code necessary to present the selectedgame to the player. In a preferred embodiment, the request from thegaming machine controller 60 is transmitted to the SMIB 70 via thecommunication link 74, and then from the SMIB 70 to the game code server56.

In another embodiment, the request may be generated by and transmittedfrom the SMIB 70. For example, a player may be permitted to select theirfavorite or “default” game. The default game is presented to the playerat the gaming machine 20 whenever the player identifies themselves atthe gaming machine 20. For example, a player may insert their playertracking card into the card reader 32. The player tracking card mayinclude information regarding the player's preferred game.Alternatively, the player tracking card may include playeridentification information which the player tracking controller sends tothe player tracking host 54. The player tracking host 54 may utilize theidentification information to identify the player's preferred game. Thisinformation may be sent back to the SMIB 70 and then the SMIB 70 maytransmit a request to the game code server 56 for game code for theplayer's game. Alternatively, the game information may be transmittedfrom the player tracking host 54 to the game code server 56 directly.

The game code may be transmitted to the SMIB 70 or other device of thegaming machine 20 in a variety of manners. In part, the manner by whichthe code is transmitted is dependent upon the communication protocolused. Generally, however, the code will be transmitted in packetizedform. Preferably, each data packet includes a destination address, suchas in an address header. The packetized form of the transmission permitsthe code to be transmitted to a variety of different gaming machines 20associated with the system 50 at generally the same time. Individualpackets are reassembled at each gaming machine 20.

The code may be transmitted in whole or in part during a transmissionevent. For example, if a request is made for particular game code, thegame code may be transmitted in portions or segments spaced over time,or be transmitted immediately. The manner by which code is transmittedmay be determined by a variety of criteria. In one embodiment of theinvention, the request for code may include an indication of thepriority of the need for the code. For example, in the case of anupgrade of code, the code may be transmitted when sufficient bandwidthis detected as being available to permit the transmission withoutslowing current network activity, such as the transmission of playertracking data. In the case where a player is requesting to play aparticular game, the request may be of a high priority. In this event,the code may be transmitted immediately, even though such may slow thespeed at which other data is transmitted between the various gamingmachines 20 and the other devices on the network 58.

In a step S3 of the method, the code is processed by the SMIB 70 orprocessing device of the secondary device, such as a processor of aplayer tracking controller. The processing may simply comprise are-transmission of the code or data to the gaming machine controller 60.In other embodiments, the processing may comprise the compilation ofcode, assembly of data or the like. For example, in one embodiment wherecode is transmitted in portions over an extended period of time, theprocessing may comprise assembling the various portions of the code.

In a preferred embodiment, the code is received by the communicationsinterface 72 and is routed to a memory of the SMIB 70. In one embodimentthe code is stored at the memory of the SMIB 70 over a period of time,and in another embodiment the code is only stored until it has beenprocessed and transmitted to the gaming machine controller 60. In oneembodiment, the code may be stored until overwritten.

In a step S4 of a method, the processed code is provided to the gamingmachine controller 60. In one embodiment this step comprises thetransmission of the code over the communication link 74 from the SMIB 70to the gaming machine controller 60.

In a preferred embodiment, the transmitted code is stored at the memory64 of the gaming machine controller 60. The code may be stored in otherlocations.

Once the code is transmitted to the gaming machine controller 60, thecode may be further processed. In a preferred embodiment the code isused, such as executed by the CPU 62, by the gaming machine controller60.

The apparatus or system for implementing the methods of the inventionmay vary. As indicated, in one embodiment, the game code or other datais transmitted from the game code host 56 to the gaming machine 20 viathe player tracking network 58. In embodiment, the game code host 56 inon or a part of this network. In another embodiment, the game code host56 is associated with a different network, and the game code istransmitted from the game code host 56 via this network and the playertracking network 58 to reach the gaming machine 20.

In another embodiment, the game code host 56 may be arranged to transmitgame code to the player tracking controller via a network orcommunication link entirely separate from the network 58 connecting theplayer tracking controller and the player tracking host 54. In thismanner, a secure network link may be provided to the gaming machine overwhich gaming code is transmitted. For example, in one embodiment, theplayer tracking device of the gaming machine 20 may include a firstcommunication interface 72 and a second communication interface 73. Thefirst communication interface 72 connects the player tracking device tothe network 58 (and thus the player tracking host 54), such as via awired or wireless link. The second communication interface 73 connectsthe player tracking device to the game code host 56, such as via a wiredor wireless link. In a preferred embodiment, the player tracking deviceis connected by a wired link to a wired network 58, and via a wirelesslink to the game code host 56 (or via a wireless link to a part of anetwork with which the game code host 56 is associated). In thisconfiguration, a gaming machine 20 which is already wired to an existingwired player tracking network can be simply configured to implement theinvention without the need to put into place another wired link, butstill provide greater data bandwidth and a dedicated path, by utilizinga wireless link. In another embodiment, the player tracking deviceincludes a single communication interface adapted to communicate withboth communication links/networks.

Game code may be transmitted to a secondary device of the gaming machineother than the player tracking controller. For example, a processingunit/controller/communication interface element may be associated withthe machine and have as its sole or primary purpose only serving as theinterface for the download of control code to the gaming machine.

As indicated, in one embodiment the player tracking host 54 and gamecode host 56 are located remote from the gaming machine 20. By “remote,”it is generally meant that these devices are not located within or atthe gaming machine 20. Further, one or more gaming machines 20 which arelocated remote from one another may be associated with the same gamecode host 56. The one or more gaming machines 20 may be associated withdifferent gaming properties or operators, or a variety of properties orlocations operated by a single entity or different entities. In such anembodiment, the one or more communication links forming the network 58may comprise phone lines or the link connecting the properties.

The system and method in accordance with the present invention hasnumerous advantages. As one aspect of the invention, a means is providedfor providing gaming code or other data from a remote location to agaming machine. This means provides the code to the gaming machine foruse by the gaming machine controller in an indirect fashion.

A number of advantages are realized as a result of the indirect downloadof code to the gaming machine. One advantage is that resources of thegaming machine controller are not utilized to effect the download. Asone example, a gaming machine controller may be storing and executing aparticular set of gaming code at a time when the operator wishes toupdate the code for that game. In the arrangement of the invention, theupdated code can be transmitted to the machine and be stored at themachine without interrupting the gaming machine controller. When play ofthe gaming machine ceases, then the code may be provided to the gamingmachine controller for installation and use.

In a preferred embodiment, the player tracking controller or othersecondary device to the gaming machine controller acts as the “queue”for downloaded code. Thus, while the gaming machine controller may berunning a particular game, the code can be downloaded to the playertracking controller or other secondary device. It will be appreciatedthat the time necessary to download code from a remote device to theplayer tracking controller or other secondary device will generally besubstantially greater, and generally greater in magnitudes, than thetime needed to transmit the code from the player tracking controller orother secondary device to the gaming machine controller.

As one aspect of the invention, the “queuing” effect of the download hasthe advantage of improving network traffic. In many cases, particularcode need not be immediately accessible to the gaming machine controllerof a gaming machine. However, by necessity, without the queuing featureof the invention, the code must generally be sent as quickly as possibleto avoid the gaming controller from being tied up in waiting for thecode for installation. In accordance with the invention, during periodsof high network traffic, only limited amounts of code may be downloadedto the player tracking controller or other secondary device of thegaming machine. During lower periods of network traffic the code may bedownloaded at higher rates. Regardless of the speed of download,however, the player tracking controller is arranged to obtain and store,including assembling this code. When the entirety of the code isdownloaded, the code can be immediately provided to the gaming machinecontroller.

As another aspect of the invention, a request for code or to providecode may include priority information. This priority information can beused to match the need for code at a particular time or speed with theavailable network bandwidth. Thus, only code immediately required isimmediately transmitted, while other code may be transmitted only whenthe network bandwidth is greater, as discussed above.

In accordance with the invention, greater amounts of code areimmediately available to the gaming machine controller. For example, thegaming machine controller may have game code for a first game loadedinto its memory. The player tracking controller or other secondarydevice may store game code for a second game. In the event a desireexists to present the second game, the code is already available to thegaming machine controller on an immediate basis. As one aspect of thisfeature, this allows the gaming machine controller to have less memory.This may allow, for example, the gaming machine controller to includeonly higher speed access memory, such as RAM, instead of a hard drive,since less code needs to be stored by the gaming machine controller.This is because the gaming machine controller still has ready access toother code necessary to present other games or to control the gamingmachine via the player tracking controller or other secondary devicememory.

Yet another advantage of the invention is that in some instances, oldergaming machines may not be provided with a network link to their gamingmachine controllers. These gaming machines may have been retrofittedwith a separate player tracking device associated with a player trackingnetwork or system. In accordance with the invention, gaming code can nowbe provided to the gaming machine controller using the existing playertracking network, avoiding the need for another network orcommunications link.

It will be understood that the above described arrangements of apparatusand the method therefrom are merely illustrative of applications of theprinciples of this invention and many other embodiments andmodifications may be made without departing from the spirit and scope ofthe invention as defined in the claims.

1. A system for providing a gaming machine with machine readable codefrom at least one remote location comprising: at least one gamingmachine, said gaming machine comprising: a gaming machine controlleradapted to control a game of chance played on the gaming machine byexecuting the machine readable game code, a first memory for storing themachine readable game code executed by the gaming machine controller; adisplay for presenting the game of chance; a player tracking device,coupled to the gaming machine and operable to communicate with thegaming controller, a player tracking host and a game code host, a playertracking controller, separate from the gaming machine controller,adapted for a) controlling one or more peripheral devices coupled to theplayer tracking device, b) downloading first machine readable game codeto the player tracking device from the same code host wherein the firstmachine readable game code is not intended for execution by the playertracking controller or for execution by the one or more peripheraldevices and c) transmitting the first machine readable game code to thegaming machine controller wherein the gaming machine is operable toreplace a first instance of the game of chance played on the gamingmachine with a second instance of the game of chance played on thegaming machine by executing the first machine readable code; a firstperipheral device adapted to receive first player tracking information;a second peripheral device adapted to display second player trackinginformation; a first communication interface associated with said playertracking device adapted to permit said player tracking device to receivethe first machine readable game code that is for execution by the gamingmachine controller from the game code host and to communicate with theplayer tracking host; a second memory for storing at least a portion ofthe first machine readable game code received from the game code host; athird memory for storing machine readable player tracking code executedby the player tracking controller; a second communication interfaceadapted to allow transmission of information between the gaming machinecontroller and the player tracking device wherein the player trackingdevice is configured to transmit over the second communication interfacethe first machine readable game code to the gaming machine controllerthe player tracking host arranged to store data regarding activities ofone or more players of said gaming machine and to communicate with theplayer tracking device via the first communication interface; the gamecode host adapted to store the first machine readable game code and totransmit the first machine readable game code to the player trackingdevice; a communication network adapted to allow communication betweenthe player tracking host, the game code host and the player trackingdevice.
 2. The system in accordance with claim 1 wherein at least aportion of the communication network includes a wireless communicationlink.
 3. The system in accordance with claim 1 wherein the one or moreperipheral devices includes a card reader.
 4. The system in accordancewith claim 1 wherein said player tracking host and said game code hostcomprise a common device.
 5. The system in accordance with claim 1wherein said player tracking device comprises a self-contained elementconnected to said gaming machine.
 6. The system of claim 1, wherein theplayer tracking device is operable to store the portion of the firstmachine readable game code to the second memory while the gaming machineis executing the machine readable game code.
 7. A method of providing agame of chance on a gaming machine comprising a) a gaming machinecontroller adapted to control the game of chance played on the gamingmachine and b) a player tracking device including a player trackingcontroller coupled to the gaming machine adapted to communicate playertracking data to a player tracking host under the control of the playertracking controller, the method comprising: storing machine readablegame code to a first memory on the gaming machine; generating, undercontrol of the game machine controller, the game of chance by executingthe machine readable game code; storing machine readable player trackingcode to a third memory on the player tracking device; providing, undercontrol of the player tracking controller, player tracking services byexecuting the machine readable player tracking code; receiving, undercontrol of the player controller, first machine readable game code froma remote device wherein the first machine readable game code is notintended for execution by the player tracking controller; storing, undercontrol of the player controller, at least a portion of first machinereadable game code to a third memory on the player tracking device;transmitting the first machine readable game code to the gaming machinecontroller wherein the gaming machine is operable to replace a firstinstance of the game of chance played on the gaming machine with asecond instance of the game of chance played on the gaming machine byexecuting the first machine readable code; executing, under control ofthe gaming machine controller, the first machine readable game code togenerate the game of chance played on the gaming machine; andcommunicating, under control of the player tracking controller, theplayer tracking data including amounts bet to the player tracking host.8. The method in accordance with claim 7 further comprising generating arequest for the first machine readable code at said gaming machine andincluding the step of transmitting said request from said gaming machineto said remote device.
 9. The method in accordance with claim 8comprising generating said request at said player tracking controller ofsaid gaming machine.
 10. The method in accordance with claim 8comprising generating said request in response to a player providingplayer identification information to said player tracking controller.11. The method in accordance with claim 10 wherein said providing stepcomprises reading a player tracking card at a card reader associatedwith said player tracking controller.
 12. The method in accordance withclaim 7 comprising transmitting said first machine readable game codeover at least a portion of a network with which said gaming machine andthe player tracking host are associated.
 13. The method in accordancewith claim 7 further comprising receiving the first machine readablegame code in portions wherein the portions are received at differenttimes and assembling the portions of the first machine readable gamecode.
 14. The method in accordance with claim 7 further comprisinggenerating a request for the first machine readable code at said gamingmachine wherein said request includes priority information regarding atime for transmitting said first machine readable game code to theplayer tracking device.
 15. The method in accordance with claim 7further comprising, under control of the player tracking controller,compiling the first machine readable game code prior to transmitting thefirst machine readable game code to the gaming machine controller. 16.The method of claim 7, wherein the first machine readable game code isreceived under control of the player tracking controller from the remotedevice while the gaming machine is generating the game of chance byexecuting the machine readable game code.
 17. A gaming machine forproviding wagering on a game of chance, said gaming machine comprising:a gaming machine controller adapted to control the game of chance playedon the gaming machine by executing machine readable game code, a firstmemory for storing the machine readable game code executed by the gamingmachine controller; a display for presenting the game of chance; aplayer tracking device operable to communicate with the gamingcontroller a player tracking host and a game code host, a playertracking controller, separate from the gaming machine controller,adapted for a) controlling one or more peripheral devices coupled to theplayer tracking device, b) downloading first machine readable game codeto the player tracking device from the game code host wherein the firstmachine readable game code is not intended for execution by the playertracking controller or for execution by the one or more peripheraldevices and c) transmitting the first machine readable game code to thegaming machine controller wherein the gaming machine is operable toreplace a first instance of the game of chance played on the gamingmachine with a second instance of the game of chance played on thegaming machine by executing the first machine readable code; a firstperipheral device adapted to receive first player tracking information;a second peripheral device adapted to display second player trackinginformation; a first communication interface associated with said playertracking device adapted to permit said player tracking device to receivethe first machine readable game code that is for execution by the gamingmachine controller from the game code host and to communicate with theplayer tracking host; a second communication interface adapted to allowtransmission of information between the gaming machine controller andthe player tracking device wherein the player tacking device isconfigured to transmit over the second communication interface the firstmachine readable game code to the gaming machine controller; a secondmemory for storing at least a portion of the first machine readable gamecode received from the game code host; and a third memory for storingmachine readable player tracking code executed by the player trackingcontroller.
 18. The gaming machine of claim 17, wherein said playertracking host and said game code host comprise a common device.
 19. Thegaming machine of claim 17, wherein the player tracking controller isfurther adapted for compiling the first machine readable game code priorto transmitting the first machine readable game code to the gamingmachine controller.
 20. The gaming machine of claim 17, wherein toplayer tracking controller is further adapted for receiving to firstmachine readable game code in portions wherein the portions are receivedat different times and assembling the portions of first machine readablegame code.
 21. The gaming machine of claim 17, wherein the playertracking controller is further adapted for determining a status of thegaming machine controller and scheduling the transmission of the firstmachine readable game code to the gaming machine controller in responseto the determined status of the gaming machine controller.
 22. Thegaming machine of claim 17, wherein the player tracking device isoperable to store the portion of the first machine readable game code tothe second memory while the gaming machine is executing the machinereadable game code.
 23. A player tracking device operable to communicatewith a gaming controller on a gaming machine, a player tracking host anda game code host, said player tracking device comprising: one or moremounting mechanisms for coupling the player tracking device to thegaming machine; a player tracking controller, separate from the gamingmachine controller, adapted for a) controlling one or more peripheraldevices coupled to the player tracking device, b) downloading firstmachine readable game code to the player tracking device from the gamecode host wherein the first machine readable game code is not intendedfor execution by the player tracking controller or for execution by theone or more peripheral devices, c) transmitting the first machinereadable game code to the gaming machine controller wherein the gamingmachine is operable to replace a first instance of the game of chanceplayed on the gaming machine with a second instance of the game ofchance played on the gaining machine by executing the first machinereadable code, d) receiving player tracking data from the gainingmachine controller and e) sending the player tracking data to the playertracking host; a first peripheral device adapted to receive first playertracking information; a second peripheral device adapted to displaysecond player tracking information; a first communication interfaceassociated with said player tracking device adapted to permit saidplayer tracking device to receive the first machine readable game codethat is for execution by the gaming machine controller from the gamecode host and to communicate with the player tracking host; a secondcommunication interface adapted to allow transmission of informationbetween the gaming machine controller and the player tracking devicewherein the player tracking device is configured to transmit over thesecond communication interface the first machine readable game code tothe gaming machine controller a first memory for storing at least aportion of the first machine readable game code received from the gamecode host; a second memory for storing machine readable player trackingcode executed by the player tracking controller.
 24. The player trackingdevice of claim 23, wherein said player tracking host and said game codehost comprise a common device.
 25. The player tracking device of claim23, wherein the player tracking controller is further adapted forcompiling the first machine readable game code prior to transmitting thefirst machine readable game code to the gaming machine controller. 26.The player tracking device of claim 23, wherein the player trackingcontroller is further adapted for receiving the first machine readablegame code in portions wherein the portions are received at differenttimes and assembling the portions of first machine readable game code.27. The player tracking device of claim 23, wherein the player trackingcontroller is further adapted for determining a status of the gamingmachine controller and scheduling the transmission of the first machinereadable game code to the gaming machine controller in response to thedetermined status of the gaming machine controller.
 28. The playertracking device of claim 23, wherein the player tracking device isoperable to download the portion of the first machine readable game codeto the second memory while receiving player tracking data generated fromthe gaming machine controller.